package demo9.test4;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-13
 * Time: 15:18
 */
//9.2 局部内部类
//定义在外部类的方法体或者{}中，该种内部类只能在其定义的位置使用，一般使用的非常少，此处简单了解下语法
//格式。
public class OutClass {
    int a = 10;
    public void method(){
        int b = 10;
        // 局部内部类：定义在方法体内部
        // 不能被public、static等访问限定符修饰
        class InnerClass{
            public void methodInnerClass(){
                System.out.println(a);
                System.out.println(b);
            }
        }
        // 只能在该方法体内部使用，其他位置都不能用
        InnerClass innerClass = new InnerClass();
        innerClass.methodInnerClass();
    }
    public static void main(String[] args) {
    // OutClass.InnerClass innerClass = null; 编译失败
    }
}
/*
【注意事项】
 1. 局部内部类只能在所定义的方法体内部使用
 2. 不能被public、static等修饰符修饰
 3. 编译器也有自己独立的字节码文件，命名格式：外部类名字$数字内部类名字.class
 */